//
//  ProjectManager.h
//  CMVRFForIOS
//
//  Created by zhangnorman on 15/5/3.
//  Copyright (c) 2015年 hvacapp. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ProjectData.h"

@interface ProjectManager : NSObject

/**
 *  单例 项目管理器
 *
 *  @return 单例项目管理器
 */
+(ProjectManager *) manager;

/**
 *  归档保存账号信息到文件中
 *
 *  @param account 成功登陆后的账号信息
 */
- (void)saveProject:(ProjectData *)project;

/**
 *  获取项目信息
 *
 *  @return 项目信息ProjectData
 */
- (ProjectData *)project;

/**
 *  获取项目的project ID
 *
 *  @return ID
 */
- (NSString*)projectId;

/**
 *  新建项目
 */
- (ProjectData*)newProject;

/**
 *  通过项目的guid从服务器加载项目的数据
 *
 *  @param guid   <#guid description#>
 */
- (void)loadProjectInfoByGuid:(NSString*)guid result:(void (^)(id))result;

/**
 *  通过项目的guid从服务器加载项目的数据并且设置项目的状态
 *
 *  @param guid   <#guid description#>
 *  @param status <#status description#>
 */
- (void)loadProjectInfoByGuid:(NSString*)guid andStatus:(KKPROJECT_STATUS)status;

/**
 *  修改服务器中的项目信息
 *
 *  @param success <#success description#>
 *  @param failure <#failure description#>
 */
- (void)modifyProjectInfoSuccess:(void (^)(void))success failure:(void (^)(NSError *))failure;

/**
 *  获得项目的状态
 *
 *  @return 项目状态
 */
- (KKPROJECT_STATUS)getProjectStatus;

/**
 *  设置项目当前的状态
 *
 *  @param status 状态值
 */
- (void)setProjectStatus:(KKPROJECT_STATUS)status;

/**
 *  该项目绑定了项目模板
 */
- (void)bindProjectTemplate;

/**
 *  是否绑定了项目模板
 *
 *  @return return value description
 */
- (BOOL)isBindProjectTemplate;

/**
 *  是否显示室内机配置
 *
 *  @return
 */
- (BOOL)displaySNJMachine;

/**
 *  是否显示轻型商用空调配置
 *
 *  @return
 */
- (BOOL)displayQXSYKTMachine;


/**
 *  清理项目信息
 */
- (void)clearProjectInfo;



/**
 *
 
 系统配置中：
 
 1.室外机开关关闭
 房间中，室内设备不允许添加室内机，室外机系统配置不允许
 
 2.轻型商用空调开关关闭
 房间中，室内设备不允许添加轻型商用空调。
 
 3.如果室外机开关和轻型商用空调开关均关闭
 不显示房间信息页面和室外机系统配置页面。
 
 4.空气能热水机开关关闭
 不显示空气能配置页面
 
 5.开关关闭
 不显示页面配置
 
 */
- (BOOL)snjDeviceEnabled;
- (BOOL)qxsyktDeviceEnabled;
- (BOOL)swjPageEnabled;
- (BOOL)roomPageEnabled;
- (BOOL)kqnrsjPageEnabled;
- (BOOL)qrjhqPageEnabled;

- (void)initStepInfo:(BOOL)is_new_project;

- (void)setTemplateBind:(int)bind;

- (void)updateTotalSteps;

- (void)goPage:(int)step;

- (void)goLastPage;

- (void)goNextPage;

- (NSString*)getCurrentStepInfo;


@end
